﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DouyinApp
{
    internal class ItemFactory<T> where T : new()
    {
        public T GetNewItem()
        {
            return new T();
        }
    }

    internal class ItemInfo : ItemFactory<ItemInfo>
    {
        //因为有new()约束，必须具有公共的无参构造函数的非抽象类型，才能用作泛型类型或者方法ItemFactory<T>中的参数T
        //private ItemInfo()
        //{
        //}
    }

    //internal abstract class ItemAbstract : ItemFactory<ItemAbstract>
    //{ 
    //}
}
